mod calc;

fn main() {
    println!("欢迎使用 Rust 高性能计算器！");
    println!("请输入一个数学表达式（例如：3 + 5 * (2 - 8) ^ 2）：");

    loop {
        let mut input = String::new();
        std::io::stdin()
            .read_line(&mut input)
            .expect("读取输入失败");
        let expression = input.trim();

        if expression.is_empty() {
            println!("输入不能为空，请重新输入。");
            continue;
        }

        match calc::calculate(expression) {
            Ok(result) => println!("计算结果：{}", result),
            Err(e) => println!("计算错误：{}", e),
        }

        println!("请输入下一个数学表达式（或按 Ctrl+C 退出）：");
    }
}
